package com.jyw.business.ins.service;

import java.util.List;

import com.jyw.business.ast.domain.dto.web.InsRectifyAstPageDto;
import com.jyw.business.ast.domain.dto.wechat.WechatInsRectifyAstPageDto;
import com.jyw.business.ast.domain.vo.web.InsRectifyAstPageVo;
import com.jyw.business.ins.domain.InsTaskRectify;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jyw.business.ins.domain.dto.web.RectifyDto;
import com.jyw.business.ins.domain.dto.web.RectifyUnitPageDto;
import com.jyw.business.ins.domain.dto.web.TransmitDto;
import com.jyw.business.ins.domain.dto.wechat.WechatRectifyUnitPageDto;
import com.jyw.business.ins.domain.vo.web.RecordUnitPageVo;
import com.jyw.business.ins.domain.vo.web.RectifyDetailVo;
import com.jyw.business.ins.domain.vo.web.RectifyUnitPageVo;

/**
 * 巡检任务整改Service接口
 * 
 * @author system
 * @date 2023-10-07
 */
public interface IInsTaskRectifyService extends IService<InsTaskRectify>
{
    /**
     * 查询巡检任务整改
     * 
     * @param id 巡检任务整改主键
     * @return 巡检任务整改
     */
    public InsTaskRectify selectInsTaskRectifyById(Long id);

    /**
     * 查询巡检任务整改列表
     * 
     * @param insTaskRectify 巡检任务整改
     * @return 巡检任务整改集合
     */
    public List<InsTaskRectify> selectInsTaskRectifyList(InsTaskRectify insTaskRectify);

    /**
     * 新增巡检任务整改
     * 
     * @param insTaskRectify 巡检任务整改
     * @return 结果
     */
    public int insertInsTaskRectify(InsTaskRectify insTaskRectify);

    /**
     * 修改巡检任务整改
     * 
     * @param insTaskRectify 巡检任务整改
     * @return 结果
     */
    public int updateInsTaskRectify(InsTaskRectify insTaskRectify);

    /**
     * 批量删除巡检任务整改
     * 
     * @param ids 需要删除的巡检任务整改主键集合
     * @return 结果
     */
    public int deleteInsTaskRectifyByIds(Long[] ids);

    /**
     * 删除巡检任务整改信息
     * 
     * @param id 巡检任务整改主键
     * @return 结果
     */
    public int deleteInsTaskRectifyById(Long id);

    /**
     * 异常整改资产查询
     * @param dto
     * @return
     */
    List<InsRectifyAstPageVo> rectifyAstList(InsRectifyAstPageDto dto);

    /**
     * 异常整改单元查询
     * @param dto
     * @return
     */
    List<RectifyUnitPageVo> rectifyUnitList(RectifyUnitPageDto dto);

    /**
     * 异常整改详情
     * @param id
     * @return
     */
    RectifyDetailVo getRectifyDetail(Long id);

    /**
     * 整改
     * @param dto
     */
    void rectify(RectifyDto dto);

    /**
     * 转交
     * @param dto
     */
    void transmit(TransmitDto dto);

    /**
     * 异常整改资产查询
     * @param dto
     * @return
     */
    List<InsRectifyAstPageVo> wxRectifyAstList(WechatInsRectifyAstPageDto dto);

    /**
     * 小程序异常整改单元查询
     * @param dto
     * @return
     */
    List<RectifyUnitPageVo> wxRectifyUnitList(WechatRectifyUnitPageDto dto);
}
